package report

import (
	"context"
	"git.mycaigou.com/gfyx/micro-gfyx-user-service/infrastructure/common/utils"

	"git.mycaigou.com/gfyx/micro-gfyx-user-service/infrastructure/repository/report"
	pb "git.mycaigou.com/gfyx/micro-gfyx-user-service/proto/micro_gfyx_user_service_proto/micro-gfyx-user-service"
)

type ReportServiceIface interface {
	// GenerateUrl 生成一个URL
	GenerateUrl(ctx context.Context, reportShare *report.ReportShare) (*report.ReportShare, error)

	// ReceiveUrl 领取链接
	ReceiveUrl(ctx context.Context, userUid string, code string) (bool, error)

	// ReportFromSharingList 获取报备列表
	ReportFromSharingList(ctx context.Context, condition map[string]interface{}, pageInfo *utils.PageInfo, orderBy string) (int64, []*report.ReportShare, error)

	// ReportInfo 获取报备详情
	ReportInfo(ctx context.Context, condition map[string]interface{}) (*report.ReportShare, error)

	// UpdateReportShareStatus 更新状态
	UpdateReportShareStatus(ctx context.Context, userUid string, code string, reportShare *pb.ReportFromSharing) (bool, error)
}
